<?php
//SCRIPTS("cot","function cot(e){e.style.display='none';e.nextSibling.style.display='inline';};");
/*
$commentary=nl2br(htmlspecialchars($commentary));
$commentary=AddBB($commentary);
$commentary="\n$commentary\n";
$commentary=hyperlink($commentary);
$commentary=trim($commentary,"\n");
*/
// die("1");
function link_lj_var($t) {
$t1=str_ireplace('&'.'quot;','"',$t[1]);
$t2=str_ireplace('&'.'quot;','"',$t[2]);
$t1=trim($t1,"'\"\n ");
$t2=str_ireplace('&'.'lt;wbr&'.'gt;&'.'lt;/wbr&'.'gt;','',trim($t2,"'\"\n "));
if($t2==$t1) return $t1;
return $t2." (".$t1.")";
}
function AddBB($s) {
$s=preg_replace_callback("/&"."lt;a href=(.*?)&"."gt;(.*?)&"."lt;\/a&"."gt;/si","link_lj_var",$s);
$s = str_replace('&'.'quot;','"', $s);
$search = array(
'/\[big\](.*?)\[\/big\]/is',
'/\[h\](.*?)\[\/h\]/is',
'/\[b\](.*?)\[\/b\]/is',
'/&'.'lt;b&'.'gt;(.*?)&'.'lt;\/b&'.'gt;/is',
'/&'.'lt;strong&'.'gt;(.*?)&'.'lt;\/strong&'.'gt;/is',
'/\[i\](.*?)\[\/i\]/is',
'/&'.'lt;i&'.'gt;(.*?)&'.'lt;\/i&'.'gt;/is',
'/&'.'lt;em&'.'gt;(.*?)&'.'lt;\/em&'.'gt;/is',
'/\[u\](.*?)\[\/u\]/is',
'/&'.'lt;u&'.'gt;(.*?)&'.'lt;\/u&'.'gt;/is',
'/\[s\](.*?)\[\/s\]/is',
'/&'.'lt;s&'.'gt;(.*?)&'.'lt;\/s&'.'gt;/is',
'/&'.'lt;quote&'.'gt;(.*?)&'.'lt;\/quote&'.'gt;/is',
'/&'.'lt;cite&'.'gt;(.*?)&'.'lt;\/cite&'.'gt;/is',
'/&'.'gt;([^\&\n<]+)/is',
'/\[img\](.*?)\[\/img\]/is',
'/\[url\](.*?)\[\/url\]/is',
'/\[tab\](.*?)\[\/tab\]/is', // табличка
'/\[url\=([^\>\<\'\"\=\)\(\;\#]*?)\](.*?)\[\/url\]/is'
);
$replace = array(
"<font size='+2'>$1</font>",
"<div class=ll onclick='cot(this)'>[...]</div><div style='display:none'>$1</div>", // '/\[h\](.*?)\[\/h\]/is',
'<b>$1</b>', // '/\[b\](.*?)\[\/b\]/is',
'<b>$1</b>', // '/<b>(.*?)<\/b>/is',
'<b>$1</b>', // '/<strong>(.*?)<\/strong>/is',
'<i>$1</i>', // '/\[i\](.*?)\[\/i\]/is',
'<i>$1</i>', // '/<i>(.*?)<\/i>/is',
'<i>$1</i>', // '/<em>(.*?)<\/em>/is',
'<u>$1</u>', // '/\[u\](.*?)\[\/u\]/is',
'<u>$1</u>', // '/<u>(.*?)<\/u>/is',
'<s>$1</s>', // '/\[s\](.*?)\[\/s\]/is',
'<s>$1</s>', // '/<s>(.*?)<\/s>/is',
'<i><font color=gray>$1</font></i>', // '/<quote>(.*?)<\/quote>/is',
'<i><font color=gray>$1</font></i>', // '/<cite>(.*?)<\/cite>/is',
'<font color=gray>&'.'gt;$1</font>', // '/>([^\&\n<]+)/is',
' $1 ', // '<img src="$1" />', '/\[img\](.*?)\[\/img\]/is',
' $1 ', // '<a href="$1">$1</a>', '/\[url\](.*?)\[\/url\]/is',
'<div class=rama>$1</div>', // '/\[tab\](.*?)\[\/tab\]/is', // табличка
'<a href=\'$1\'>$2</a>' // '/\[url\=([^\>\<\'\"\=\:\)\(\;\#]*?)\](.*?)\[\/url\]/is'
);
$s = preg_replace($search, $replace, $s);
$s = preg_replace_callback('/\[code\](.*?)\[\/code\]/is','CODE_comm', $s);
$s = str_replace('"','&'.'quot;',$s);
return $s;
}
function CODE_comm($t) {
$s=htmlspecialchars_decode($t[1]);
$s=str_replace("<br>","\n",$s);
$s=trim($s,"\n");
$s=highlight_string("<?php\n".$s."\n?>",1);
$s=str_replace("<br />","\n",$s);
$s=str_replace("\n\n\n","\n",$s);
$s=str_replace(array('<span style="','">'),array("<span style='","'>"),$s);
//if($GLOBALS['ADM']) idie(h(str_replace(array("\r","\n"),array('[r]','[n]'),$s)));
$s=str_replace(array("<span style='color: #000000'>\n<span style='color: #0000BB'>&"."lt;?php\n","<span style='color: #0000BB'>?&"."gt;</span>\n</span>\n","?&"."gt;</span>\n</span>\n"),'',$s);
$s=trim($s,"\n");
$s=str_replace("\n","<br>",$s);
$s=str_replace(array('<span style="','">'),array("<span style='","'>"),$s);
return "<div style='width:90%;margin-left:20px;border:1px dotted #ccc;background-color:#eee;border-radius:5px;padding:5px;'>".$s."</div>";
}
function hypermail($s,$k=1) { return preg_replace("/"
."([\s".($k?">":'')."\(\:])" // символы перед [1]
."([0-9a-z\-\_\.]+\@[0-9a-z\-\_\.]+)" // http:// или www. [3]
."(" // символы после
."[\.\?\:][^a-zA-Z0-9\/]"
."|[\s".($k?"<>":'').",\)$]"
.")"
."/si","$1<a href='mailto:$2'>$2</a>$3", $s);
}
function hyperlink($s,$k=1) {
$papki="[a-zA-Z0-9\!\#\$\%\(\)\*\+\,\-\.\/\:\;\=\[\]\\\^\_\`\{\}\|\~]+";
$lastaz="[a-zA-Z0-9\/]";
$quer="[a-zA-Z0-9\!\#\$\%\&\(\)\*\+\,\-\.\/\:\;\=\?\@\[\]\\\^\_\`\{\}\|\~]+"; // {
$lastquer="[a-zA-Z0-9\#\$\&\(\)\*\/\=\@\]\\\^\_\`\}\|\~]";
return preg_replace_callback("/"
."([\s>"
."\(\:])" // символы перед [1]
."(" // [2]
."([a-z]+:\/\/|(www\.))" // http:// или www. [3]
."([0-9a-zA-Z][A-Za-z0-9_\.\-]*[A-Za-z]{2,6})" // aaa.bb-bb.c_c_c [4]
."(\:\d{1,6}|)" // порт йопта блять или пустота [5]
."("
."\/".$papki.$lastaz."\?".$quer.$lastquer // /papka/papka.html?QUERY_STRING#HASH
."|"."\?".$quer.$lastquer // ?QUERY_STRING#HASH
."|"."\/".$papki.$lastaz // /papka/papka
."|)"
.")"
."(" // символы после
."[\.\?\:][^a-zA-Z0-9\/]"
."|[\s"
.($k?"<>":'')
.",\)$]"
.")"
."/s","url_present", $s);
}
$GLOBALS['media_id']=0;
function url_click($p,$s,$l=0) { $m='media_'.($GLOBALS['media_id']++);
return $p[1]."<div id='$m'>"
."<div title=\"".LL('obracom:click_this')."\" class='l' onclick=\"majax('comment.php',{a:'show_url',type:'$s',url:'".($l===0?$p[2]:$l)."',media_id:'$m'})\">".reduceurl($p[2],60)."</div>"
."</div>".$p[8];
}
function url_present($p) { global $httpsite,$opt,$media_id,$site_mod;
$o=( !isset($opt)
or $opt['Comment_media']=='all'
or $opt['Comment_media']=='my' && explode_last('://',$p[3].$p[5])==explode_last('://',$httpsite)
?1:0);
$r=urldecode($p[7]);
if(!strstr($r,'.')) $r=''; else $r=strtolower(explode_last('.',$r));
if($r=='mp3') { // вставка mp3
if($o){ include_once $site_mod."MP3.php"; return $p[1].MP3($p[2]." | mp3").$p[8]; }
else return url_click($p,'mp3');
}
if(in_array($p[5],array(
'www.youtube.com',
// 'youtube.com',
'youtu.be',
'm.youtube.com'
))) { // вставка роликов с ютуба
// https://youtube.com/clip/Ugkx8FUJlM3I4fSvmJ9w0i2siXwvBEydFL1[...]
if(preg_match("/(youtube\.com\/clip\/)([0-9a-z\_\-]+)/si",$p[2],$m)) $m[2]='clip/'.$m[2]; else
preg_match("/(v=|youtu\.be\/)([0-9a-z\_\-]+)/si",$p[2],$m);
$t=0; $p[22]=str_replace('&'.'amp;','&',$p[2]); if( strstr($p[22],"?t=") || strstr($p[22],"&t=")) { // подсчитать время старта в секундах, если оно указано
if(preg_match("/(\?|\&)t=[\dmsh]*?(\d+)h/si",$p[22],$i)) $t+=$i[2]*60*60;
if(preg_match("/(\?|\&)t=[\dmsh]*?(\d+)m/si",$p[22],$i)) $t+=$i[2]*60;
if(preg_match("/(\?|\&)t=[\dmsh]*?(\d+)s/si",$p[22],$i)) $t+=intval($i[2]);
}
$t=($t?"?start=".$t : '');
if($o) return "<div alt='play'>".h($m[2].$t)." "
."<div style='border: 1px solid #ccc;box-shadow: 0px 5px 5px 5px rgba(0,0,0,0.6);"
." position:relative;width:320px;height:180px;display:inline-block;background-image:url(https://img.youtube.com/vi/".h($m[2])."/mqdefault.jpg);'>"
."<i style='position:absolute;top:70px;left:150px;' class='mv e_play-youtube'></i>"
."</div>"
."</div>";
return url_click($p,'youtub',$m[2]);
}
if($p[3]=='www.') $p[2]='http://'.$p[2];
$l=$p[7];
if(!strstr($l,'module=') && ( $r=='jpg' or $r=='gif' or $r=='jpeg' or $r=='png' or $r=='webp'
or stristr($p[0],'https://pix2.blogs.yandex.net/getavatar')
or stristr($p[0],'https://avatars.yandex.net')
)
) {
if($o) {
if($GLOBALS['HTTPS']=='https') { $p[2]=str_ireplace('http'.substr($GLOBALS['httpsite'],5),'',$p[2]); } // патчим для HTTPS
return $p[1].'<img style="max-width:900px;max-height:800px" src="'.$p[2].'"'.(strstr($l,'&'.'amp;prefix=normal')?' align=left hspace=10':'').'>'.$p[8];
}
return url_click($p,'img');
}
if($p[3]=='area://') return $p[1].'<a href="http://fghi.pp.ru/?'.$p[2].'">'.$p[3].$p[5].$l.'</a>'.$p[8];
return $p[1].'<noindex><a href="'.$p[2].'" rel="nofollow">'.reduceurl(maybelink($p[3].$p[5].$l),60).'</a></noindex>'.$p[8];
}
function reduceurl($s,$l) { if(strlen($s) > $l) $s=substr($s,0,$l)."[...]"; return $s; }
?>